2 require_once 'include/MVC/Controller/SugarController.php';
4 class SugarControllerTest extends Sugar_PHPUnit_Framework_TestCase
6 public function setUp()
8 $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
11 public function tearDown()
13 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
14 unset($GLOBALS['current_user']);
17 public function testCallLegacyCodeIfLegacyListViewFound()
19 $module_name = 'TestModule'.mt_rand();
20 sugar_mkdir("modules/$module_name/",null,true);
21 sugar_touch("modules/$module_name/ListView.php");
23 $controller = new SugarControllerMock;
24 $controller->setup($module_name);
25 $controller->do_action = 'ListView';
26 $controller->view = 'list';
27 $controller->callLegacyCode();
29 $this->assertEquals('classic',$controller->view);
31 rmdir_recursive("modules/$module_name");
34 public function testCallLegacyCodeIfNewListViewFound()
36 $module_name = 'TestModule'.mt_rand();
37 sugar_mkdir("modules/$module_name/views",null,true);
38 sugar_touch("modules/$module_name/views/view.list.php");
40 $controller = new SugarControllerMock;
41 $controller->setup($module_name);
42 $controller->do_action = 'ListView';
43 $controller->view = 'list';
44 $controller->callLegacyCode();
46 $this->assertEquals('list',$controller->view);
48 rmdir_recursive("modules/$module_name");
54 public function testCallLegacyCodeIfLegacyListViewAndNewListViewFound()
56 $module_name = 'TestModule'.mt_rand();
57 sugar_mkdir("modules/$module_name/views",null,true);
58 sugar_touch("modules/$module_name/views/view.list.php");
59 sugar_touch("modules/$module_name/ListView.php");
61 $controller = new SugarControllerMock;
62 $controller->setup($module_name);
63 $controller->do_action = 'ListView';
64 $controller->view = 'list';
65 $controller->callLegacyCode();
67 $this->assertEquals('list',$controller->view);
69 rmdir_recursive("modules/$module_name");
72 public function testCallLegacyCodeIfCustomLegacyListViewAndNewListViewFound()
74 $module_name = 'TestModule'.mt_rand();
75 sugar_mkdir("modules/$module_name/views",null,true);
76 sugar_touch("modules/$module_name/views/view.list.php");
77 sugar_mkdir("custom/modules/$module_name",null,true);
78 sugar_touch("custom/modules/$module_name/ListView.php");
80 $controller = new SugarControllerMock;
81 $controller->setup($module_name);
82 $controller->do_action = 'ListView';
83 $controller->view = 'list';
84 $controller->callLegacyCode();
86 $this->assertEquals('classic',$controller->view);
88 rmdir_recursive("modules/$module_name");
91 public function testCallLegacyCodeIfLegacyListViewAndCustomNewListViewFound()
93 $module_name = 'TestModule'.mt_rand();
94 sugar_mkdir("custom/modules/$module_name/views",null,true);
95 sugar_touch("custom/modules/$module_name/views/view.list.php");
96 sugar_mkdir("modules/$module_name",null,true);
97 sugar_touch("modules/$module_name/ListView.php");
99 $controller = new SugarControllerMock;
100 $controller->setup($module_name);
101 $controller->do_action = 'ListView';
102 $controller->view = 'list';
103 $controller->callLegacyCode();
105 $this->assertEquals('classic',$controller->view);
107 rmdir_recursive("modules/$module_name");
110 public function testCallLegacyCodeIfLegacyListViewAndNewListViewFoundAndCustomLegacyListViewFound()
112 $module_name = 'TestModule'.mt_rand();
113 sugar_mkdir("modules/$module_name/views",null,true);
114 sugar_touch("modules/$module_name/views/view.list.php");
115 sugar_touch("modules/$module_name/ListView.php");
116 sugar_mkdir("custom/modules/$module_name",null,true);
117 sugar_touch("custom/modules/$module_name/ListView.php");
119 $controller = new SugarControllerMock;
120 $controller->setup($module_name);
121 $controller->do_action = 'ListView';
122 $controller->view = 'list';
123 $controller->callLegacyCode();
125 $this->assertEquals('classic',$controller->view);
127 rmdir_recursive("modules/$module_name");
130 public function testCallLegacyCodeIfLegacyListViewAndNewListViewFoundAndCustomNewListViewFound()
132 $module_name = 'TestModule'.mt_rand();
133 sugar_mkdir("custom/modules/$module_name/views",null,true);
134 sugar_touch("custom/modules/$module_name/views/view.list.php");
135 sugar_mkdir("modules/$module_name/views",null,true);
136 sugar_touch("modules/$module_name/views/view.list.php");
137 sugar_touch("modules/$module_name/ListView.php");
139 $controller = new SugarControllerMock;
140 $controller->setup($module_name);
141 $controller->do_action = 'ListView';
142 $controller->view = 'list';
143 $controller->callLegacyCode();
145 $this->assertEquals('list',$controller->view);
147 rmdir_recursive("modules/$module_name");
150 public function testCallLegacyCodeIfLegacyListViewAndNewListViewFoundAndCustomLegacyListViewFoundAndCustomNewListViewFound()
152 $module_name = 'TestModule'.mt_rand();
153 sugar_mkdir("custom/modules/$module_name/views",null,true);
154 sugar_touch("custom/modules/$module_name/views/view.list.php");
155 sugar_touch("custom/modules/$module_name/ListView.php");
156 sugar_mkdir("modules/$module_name/views",null,true);
157 sugar_touch("modules/$module_name/views/view.list.php");
158 sugar_touch("modules/$module_name/ListView.php");
160 $controller = new SugarControllerMock;
161 $controller->setup($module_name);
162 $controller->do_action = 'ListView';
163 $controller->view = 'list';
164 $controller->callLegacyCode();
166 $this->assertEquals('list',$controller->view);
168 rmdir_recursive("modules/$module_name");
172 class SugarControllerMock extends SugarController
176 public function callLegacyCode()
178 return parent::callLegacyCode();